<%-- 
    Document   : creacion del voto
    Created on : 29/10/2013
    Author     : Andres
--%>

<%@page import="co.dzgroup.votacion.modelo.Persona"%>
<%@page import="java.sql.Time"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="co.dzgroup.votacion.util.Constantes"%>
<%@page import="co.dzgroup.votacion.modelo.Eleccion"%>
<%@page import="co.dzgroup.votacion.modelo.Barrio"%>
<%@page import="co.dzgroup.votacion.modelo.Votante"%>
<%@page import="java.io.ByteArrayOutputStream"%>
<%@page import="sun.misc.BASE64Decoder"%>
<%@page import="co.dzgroup.votacion.modelo.Candidato"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="co.dzgroup.votacion.modelo.TipoEleccion"%>
<%@page import="co.dzgroup.votacion.modelo.Voto"%>
<%@page import="co.dzgroup.votacion.util.Formato"%>
<%@page import="co.dzgroup.votacion.implementacion.ParametrizacionEjecucion"%>
<%@page contentType="text/html"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


<%
    Persona usuario = (Persona)session.getAttribute("dz.usuario."+session.getId());
    if(usuario!=null){
    ParametrizacionEjecucion parame= new ParametrizacionEjecucion();

    List<Candidato>  listaCandidatos = new ArrayList<Candidato>();
    List<Eleccion> listaEleccion=null;
    Eleccion eleccion=null;
    // declarando
    String logout="";
    logout=Formato.cambiarSiEsNull(request.getParameter("logg"), "");

    if(logout.equals("logout")){
        response.sendRedirect("menu.jsp");
    }

    if(listaEleccion==null){
        listaEleccion= new ArrayList<Eleccion>();
        listaEleccion=parame.consultarElecciones();
        if(listaEleccion==null || listaEleccion.isEmpty()){
            %><script>alert('No Hay elecciones activas');</script> <%
            response.sendRedirect("menu.jsp");
        }
        
    }else{
        /**
            No aplica flujo alterno
        */
    }


    String eleccionRetorno="";
    eleccionRetorno=Formato.cambiarSiEsNull(request.getParameter("eleccion"), "");

    if(eleccionRetorno.equals("eleccion")){
        Integer eleccion_id=Integer.parseInt(request.getParameter("eleccion_id"));
        for(Eleccion eleccionTemp:listaEleccion){
            if(eleccionTemp.getEleccionId().equals(eleccion_id)){
                eleccion=eleccionTemp;
                break;
            }
        }
    }

%>

<html>
    <HEAD><TITLE>Registrar Voto</TITLE>
<script language="Java" type="text/JavaScript">


function eleccionSeleccionada(form){
    var eleccion=form.listaSelecciones.value;
    form.eleccion_id.value=eleccion;
    form.eleccion.value='eleccion';
    form.submit();
}

function seleccion(form) {
    form.accion.value='seleccionarCandidato';
    form.submit();
}

function cancelar(form) {
    form.logg.value='logout';
    form.submit();
}

</script></HEAD>
    <jsp:include page="head.jsp" flush="true|false" />
    <body>

        <center>
            <form name="frmConsultarResultados" method="post" action="consultarResultadosVotante.jsp">
                <input type="hidden" name="eleccion">
                <input type="hidden" name="logg">
                <input type="hidden" name="eleccion_id">
                <%if(listaEleccion!=null && !listaEleccion.isEmpty()){
                %>
                    <table>
                        <tr>
                            <td><font><b>Eleccion: </b></font>
                                <select name="listaSelecciones" onchange="javascript:eleccionSeleccionada(this.form);" id="elecciones">
                                    <option value="0"></option>
                                    <%
                                        for(Eleccion eleccionTemp:listaEleccion){
                                            String eleccionConcatenada="";
                                            eleccionConcatenada+=eleccionTemp.getNombre();
                                            eleccionConcatenada+="-";
                                            eleccionConcatenada+=eleccionTemp.getFechaEleccion();
                                            %>
                                            <option value="<%=eleccionTemp.getEleccionId()%>"><%=eleccionConcatenada%></option>
                                            <%
                                        }
                                    %>


                                </select>
                            </td>
                        </tr>


                    </table><br><br>
                <%
                }
                %>

                <table width="60%" >
                 
                </tr>
                    <%
                    if(eleccion!=null && eleccion.getTiposEleccion()!=null){
                        int contadorEleccion=0;
                        for(TipoEleccion tipoEleccion:eleccion.getTiposEleccion()){
                   
                    %>
                <tr>
                    <td colspan="<%= eleccion.getCandidatos()!=null?eleccion.getCandidatos().size():0%>">
                        <%
                        if(tipoEleccion.getTipoEleccionId().equals(Constantes.GOBERNACION)){
                            %><img src="../recursos/Encabezado_Gobernador.png" width="100%" height="30"> <%
                        }else if(tipoEleccion.getTipoEleccionId().equals(Constantes.ALCALDE)){
                            %><img src="../recursos/Encabezado_Alcalde.png" width="100%" height="30"> <%
                        }else if(tipoEleccion.getTipoEleccionId().equals(Constantes.DIPUTADO)){
                            %><img src="../recursos/Encabezado_Diputado.png" width="100%" height="30"> <%
                        }else if(tipoEleccion.getTipoEleccionId().equals(Constantes.CONSEJAL)){
                            %><img src="../recursos/Encabezado_Consejal.png" width="100%" height="30"> <%
                        }

                        %>
                    </td>
                </tr>

                <tr>
                    <%
                        if(eleccion!=null && eleccion.getCandidatos()!=null && !eleccion.getCandidatos().isEmpty()){
                            int cont=0;
                            boolean votoBlanco=false;
                            boolean votoNulo=false;
                            for(Candidato candidato:eleccion.getCandidatos()){

                                if(candidato.getTipoEleccion()!=null && candidato.getTipoEleccion().getTipoEleccionId()!=null){

                                    if(candidato.getTipoEleccion().getTipoEleccionId().equals(tipoEleccion.getTipoEleccionId())){
                                            String datos =candidato.getFoto();
                                            BASE64Decoder d = new BASE64Decoder();
                                            byte[] datosImagen = d.decodeBuffer(datos);
                                            Formato formato= new Formato();
                                            formato.escribirArchivo(datosImagen, application.getRealPath("/candidatos/candidato"+cont+".jpg"));

                                            if(!votoBlanco){
                                                %>
                                                <td>
                                                <center><font size="5"><b>Voto Blanco</b></font><br><br>
                                                <img alt=""  src="../recursos/blanco.JPG" width="150" height="180">
                                                <%
                                                    Integer cantidadVotosBlancos=parame.consultarVotosBlancoEleccionTipoEleccion(tipoEleccion.getTipoEleccionId(),eleccion.getEleccionId());
                                                %>
                                                <br>
                                                <font size="5"><b><%=cantidadVotosBlancos%></b></font>
                                                </center>
                                                </td>
                                                <%
                                            }
                                            if(!votoNulo){
                                                %>
                                                <td>
                                                <center><font size="5"><b>Voto Nulo</b></font><br><br>
                                                <img alt=""  src="../recursos/X.png" width="150" height="180">
                                                <%
                                                    Integer cantidadVotosNulos=parame.consultarVotosNulosEleccionTipoEleccion(tipoEleccion.getTipoEleccionId(),eleccion.getEleccionId());
                                                %>
                                                <br>
                                                <font size="5"><b><%=cantidadVotosNulos%></b></font>
                                                </center>
                                                </td>
                                                <%
                                            }

                                            %><td>
                                                <center><font size="5"><b><%=candidato.getNombre()%></b></font><br><br>
                                                <img alt=""  src="../candidatos/candidato<%=cont%>.jpg" width="150" height="180">
                                                <%
                                                    Integer cantidadVotos=parame.consultarVotosEleccionCandidato(candidato.getCandidatoId(), eleccion.getEleccionId());
                                                %>
                                                <br>
                                                <font size="5"><b><%=cantidadVotos%></b></font></center>
                                            </td> <%votoBlanco=true; votoNulo=true;

                                    }
                                }
                                cont++;
                            }
                         }
                         
                        }
                        }

                    %>

                        

                <tr>
                     <td align="center" colspan="4"><input type="button" value="Volver" onclick="cancelar(this.form);"></tr>

                <tr>

            </table>
            </form>
        </center>
    </body>
    <jsp:include page="foot.jsp" flush="true|false" />
    <%}else{
        response.sendRedirect("login.jsp");
      }%>
</html>